﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace GestorDeFlotasDesktop.Chofer_Auto
{
    public partial class buscadorTurno : Form
    {
        DataTable buscadorTurnos;
        public capaDatos.SQLSyntaxisGeneration buscadorTCD = new capaDatos.SQLSyntaxisGeneration();
        public buscadorTurno()
        {
            InitializeComponent();
             idTurno=0;
             descripcionTurno="";
        }

        private void button1_Click(object sender, EventArgs e)
        {
           string query= "select * from pelusa.turno"; 
             
            if(horaini.Text!=""||horafin.Text!=""||descripcion.Text!=""||ficha.Text!=""||bandera.Text!=""){
                query += " where ";
                if (descripcion.Text != "") {
                    query += "descripcionturno like '%" + descripcion.Text + "%'";
                    if (horaini.Text != "") {
                        query += " and horainicioturno=" + horaini.Text;
                    
                    
                    }
                    if (horafin.Text != "")
                    {
                        query += " and horafinturno=" + horafin.Text;

                    }
                    if (ficha.Text != "")
                    {
                        query += " and valorfichaturno=" + ficha.Text;

                    }
                    if (bandera.Text != "")
                    {
                        query += " and valorbanderaturno=" + bandera.Text;

                    }

                }
                else if (horaini.Text != "") {
                    query += "horainicioturno=" + horaini.Text;

                    if (horafin.Text != "")
                    {
                        query += " and horafinturno=" + horafin.Text;

                    }
                    if (ficha.Text != "")
                    {
                        query += " and valorfichaturno=" + ficha.Text;

                    }
                    if (bandera.Text != "")
                    {
                        query += " and valorbanderaturno=" + bandera.Text;

                    }
                }
                else if (horafin.Text != "")
                {
                    query += "horafinturno=" + horafin.Text;
                   
                    if (ficha.Text != "")
                    {
                        query += " and valorfichaturno=" + ficha.Text;

                    }
                    if (bandera.Text != "")
                    {
                        query += " and valorbanderaturno=" + bandera.Text;

                    }

                }
                else if (ficha.Text != "")
                {
                    query += "valorfichaturno=" + ficha.Text;

                    if (bandera.Text != "")
                    {
                        query += " and valorbanderaturno=" + bandera.Text;

                    }

                }
                else 
                {
                    query += "valorbanderaturno=" + bandera.Text;

                }

            
            }

            buscadorTurnos = buscadorTCD.executeQuery(query);
            this.dataGridView1.DataSource = buscadorTurnos;
        }

        private void descripcion_TextChanged(object sender, EventArgs e)
        {
         // string.
        }

        private void ficha_TextChanged(object sender, EventArgs e)
        {
            if (ficha.Text != "")
            {
                double numero;
                bool resultado = double.TryParse(ficha.Text, out numero);
                if (!resultado)
                { //si no consigue la conversión, valor inválido
                    ficha.Text = "";
                    MessageBox.Show("Está ingresando un valor inválido. Este campo sólo admite valores numéricos", "buscador - Turnos", MessageBoxButtons.OK, MessageBoxIcon.Error);

                }
            }
        }

        private void bandera_TextChanged(object sender, EventArgs e)
        {
            if (bandera.Text != "")
            {
                double numero;
                bool resultado = double.TryParse(bandera.Text, out numero);
                if (!resultado)
                { //si no consigue la conversión, valor inválido
                    bandera.Text = "";
                    MessageBox.Show("Está ingresando un valor inválido. Este campo sólo admite valores numéricos", "buscador - Turnos", MessageBoxButtons.OK, MessageBoxIcon.Error);

                }
            }
        }

        private void horafin_TextChanged(object sender, EventArgs e)
        {
            if (horafin.Text != "")
            {
                int numero;
                bool resultado = int.TryParse(horafin.Text, out numero);
                if (!resultado)
                { //si no consigue la conversión, valor inválido
                    horafin.Text = "";
                    MessageBox.Show("Está ingresando un valor inválido. Este campo sólo admite valores numéricos", "buscador - Turnos", MessageBoxButtons.OK, MessageBoxIcon.Error);

                }
            }
            
        }

        private void horaini_TextChanged(object sender, EventArgs e)
        {
            if (horaini.Text != "")
            {
                int numero;
                bool resultado = int.TryParse(horaini.Text, out numero);
                if (!resultado)
                { //si no consigue la conversión, valor inválido
                    horaini.Text = "";
                    MessageBox.Show("Está ingresando un valor inválido. Este campo sólo admite valores numéricos", "buscador - Turnos", MessageBoxButtons.OK, MessageBoxIcon.Error);

                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            horaini.Text = "";
            horafin.Text = "";
            descripcion.Text = "";
            ficha.Text = "";
            bandera.Text = "";
        }


        private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (buscadorTurnos.Rows.Count > e.RowIndex && e.RowIndex >= 0)
            {
                idTurno = Convert.ToInt32(buscadorTurnos.Rows[e.RowIndex].ItemArray[0]);
                descripcionTurno = Convert.ToString(buscadorTurnos.Rows[e.RowIndex].ItemArray[3]);
                this.Close();
            }
        }

    

    }
}
